//全局设置的相关
import { createSlice } from '@reduxjs/toolkit'
// 导入创建 store 的方法
const useSettingStore = createSlice({
  name: 'setting', // name必填项
  // 初始状态数据
  initialState: {
    isCollapsed: false, //是否折叠侧边栏
    themeStyle: 'light', //主题
    localeLang: 'zh_CN', // 语言
    // layout: 'vertical',
    // fixedHeader: true,
    // fixSiderbar: true,
    // colorWeak: false,
    // multiTab: true
  },
  // 修改数据 - 同步方法
  reducers: {
    toggleCollapsed: (state) => {
      state.isCollapsed = !state.isCollapsed
    },
    changeTheme: (state, { payload }) => {
      state.themeStyle = payload
    },
    localeChange: (state, { payload }) => {
      state.localeLang = payload
    },
  },
})
// 解构出创建 action 对象的函数（actionCreater）
// 并以 按需导出 的方式 导出 actionCreater
export const { toggleCollapsed, changeTheme, localeChange } =
  useSettingStore.actions

// 以默认导出的方式导出 reducer函数
export default useSettingStore.reducer
